Skip to main content
Version: Next

Gestion des tokens

Cette doc est entamé des mois après la réflexion du système, des choses seront marqués en ? pour lesquels je ne suis pas sûr.

Les différents tokens

  • Access Token: Token qui permet d'accéder à l'API. Il est généré lors de la connexion de l'utilisateur.
  • Refresh Token: Token qui permet de rafraîchir l'Access Token. Il est généré lors de la connexion de l'utilisateur.
  • Session Token: Token qui permet de garder la session de l'utilisateur. Il est généré lors de la connexion de l'utilisateur.

Autres tokens

  • Visitor Token: Token qui permet est utilisé pour les visiteurs lorsqu'il scan le qrcode.

Contenu des tokens

Visitor Token

export const visitorTokenSchema = {
type: 'object',
properties: {
type: { type: 'number', enum: enumToArray(TokenTypeRs) },
appType: { type: 'number', enum: [AppType.KARE] },
organizationId: { type: 'number' },
establishmentIds: { type: 'array', items: { type: 'number' } },
siteIds: { type: 'array', items: { type: 'number' } },
originSite: { type: 'number' },
estbSiteMap: { type: 'object', additionalProperties: { type: 'number' } },
iat: { type: 'number' },
},
required: ['organizationId', 'establishmentIds', 'siteIds', 'type', 'appType', 'originSite', 'estbSiteMap'],
additionalProperties: false,
} as const;

Les attributs du token sont les suivants:

  • type: Type du token (tous les tokens possible sur l'application)
  • appType: Type de l'application (KARE ou KARE-BO)
  • organizationId: Id de l'organisation que le qrcode visiteur a scanné
  • establishmentIds: ?? Tous les établissements de l'organisation ??
  • siteIds: ?? Tous les sites de l'organisation ??
  • originSite: Le site spécifique que le qrcode visiteur a scanné
  • estbSiteMap: Le mapping de l'établissement et de son site => plus nécessaire